The first step in placing a child is to determine which side of the
cavity it will lie against. Any one of the following options may be used
to specify a side:
ttttoooopppp Position the child's parcel against the top of the cavity, occupying
the full width of the cavity.
bbbboooottttttttoooommmm
Position the child's parcel against the bottom of the cavity,
occupying the full width of the cavity.
lllleeeefffftttt Position the child's parcel against the left side of the cavity,
occupying the full height of the cavity.
rrrriiiigggghhhhtttt
Position the child's parcel against the right side of the cavity,
occupying the full height of the cavity.
At most one of these options should be specified for any given window.
If no side is specified, then the default is ttttoooopppp.
The second step is to decide on a parcel for the child. For ttttoooopppp and
bbbboooottttttttoooommmm windows, the desired parcel width is normally the cavity width and
the desired parcel height is the window's requested height, as passed to
TTTTkkkk____GGGGeeeeoooommmmeeeettttrrrryyyyRRRReeeeqqqquuuueeeesssstttt. For lllleeeefffftttt and rrrriiiigggghhhhtttt windows, the desired parcel height
is normally the cavity height and the desired width is the window's
requested width. However, extra space may be requested for the window
using any of the following options:
ppppaaaaddddxxxx _n_u_m Add _n_u_m pixels to the window's requested width before
computing the parcel size as described above.
ppppaaaaddddyyyy _n_u_m Add _n_u_m pixels to the window's requested height before
computing the parcel size as described above.
eeeexxxxppppaaaannnndddd This option requests that the window's parcel absorb any
extra space left over in the parent's cavity after packing
all the children. The amount of space left over depends on
the sizes requested by the other children, and may be zero.
If several windows have all specified eeeexxxxppppaaaannnndddd then the extra
width will be divided equally among all the lllleeeefffftttt and rrrriiiigggghhhhtttt
windows that specified eeeexxxxppppaaaannnndddd and the extra height will be
divided equally among all the ttttoooopppp and bbbboooottttttttoooommmm windows that
specified eeeexxxxppppaaaannnndddd.
If the desired width or height for a parcel is larger than the
corresponding dimension of the cavity, then the cavity's dimension is
used instead.
The third step in placing the window is to decide on the window's width
and height. The default is for the window to receive either its
requested width and height or the those of the parcel, whichever is